#include<stdio.h>
#include<malloc.h>
typedef int ElemType;
#define MaxSize 50
typedef struct {
    ElemType data[MaxSize];//存放栈的数据元素
    int top;
} MinStack;


MinStack* minStackCreate(MinStack *s) {
    s=(MinStack *)malloc(sizeof(MinStack));
    s->top=-1;
}

bool minStackPush(MinStack* s, int e) {
    if(s->top==MaxSize-1)
        return false;//判断是否栈满
    s->top++;//栈顶指针+1
    s->data(s->top)=e;
    return true;
}

bool minStackPop(MinStack* s,int e) {
    if(s->top==-1)
        return false;//判断栈为空
    e=s->data[s->top];//取栈顶元素
    s->top--;//栈顶指针-1
    return true;
}

int minStackTop(MinStack* s,int e) {
    if(s->top==-1)
        return false;//判断栈为空
    e=s->data[s->top];
    return true;
}

int minStackGetMin(MinStack* s) {
    int i=0;
    
}

void minStackFree(MinStack* s) {
    free(s);
}